namespace MoreLinq.Test;

using System;

/// <summary>
/// Actions which throw NotImplementedException if they're ever called.
/// </summary>
static class BreakingAction
{
    internal static Action WithoutArguments =>
        () => throw new NotImplementedException();

    internal static Action<T> Of<T>() =>
        _ => throw new NotImplementedException();

    internal static Action<T1, T2> Of<T1, T2>() =>
        (_, _) => throw new NotImplementedException();

    internal static Action<T1, T2, T3> Of<T1, T2, T3>() =>
        (_, _, _) => throw new NotImplementedException();

    internal static Action<T1, T2, T3, T4> Of<T1, T2, T3, T4>() =>
        (_, _, _, _) => throw new NotImplementedException();
}
